home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-users-of-norman / CUON_03_(08-1984).d64 / water mangage (.txt) < prev   
Commodore BASIC  |  2019-04-13  |  7KB  |  212 lines

  1. 1 REM 12/8/78 J FRIEDLAND STIM PROJECT SUNY STONY BROOK
  2. 100 REM H2O WATER SIMULATION
  3. 102 S9=10:REM SCALING FAACTOR
  4. 105 DATA"HOUSEHOLD USAGE","MUNICIPAL SERVICES","INDUSTRIAL SUPPLY"
  5. 106 READA$,A$,A$
  6. 110 READ E1,E2,E3,D(1),D(2),D(3),H(1),H(2),H(3),FU
  7. 112 FL=FU+100000
  8. 115 D$=""
  9. 116 C$=""
  10. 120 DATA 0,0,0,1,1,1,8.16,2.16,1.68,250000
  11. 130 W0=12E6:G0=1000*S9:P0=2000:F0=5000*S9:W9=9E9
  12. 131 S3=9E9:S6=9E9:PRINT"[147]":GOSUB9500:FORX=1TO1000:NEXTX
  13. 132 PRINT"THE POPULATION OF YOUR VILLAGE":PRINT"IS"INT(P0)".  EACH ACRE OF LAND UNDER"
  14. 133 PRINT"IRRIGATION SUPPORTS UP TO 10 PEOPLE."
  15. 134 PRINT"UNIRRIGATED LAND WILL FEED ABOUT 2."
  16. 135 PRINT"WEATHER FORECASTS INDICATE A DROUGHT.":PRINT"YOU MUST MAKE DECISIONS
  17. 136 [153]"THAT WILL ALLOW THE VILLAGE TO SURVIVE":[129]X[178]1[164]900:[130]X
  18. 137 [141]10000
  19. 140 [153]"LOAD":[141]1002
  20. 145 I[178]A2
  21. 150 [141]904
  22. 160 [141] 7000
  23. 200 [129]D0[178]0[164]1E8[169]S9:[161]A$:[139]A$[179][177]""[167]20000
  24. 205 [139] D0[179]120[167]210
  25. 206 FL[178]FU[171]([187](1)[172]FU[173]4)[170]FU[173]8
  26. 207 FU[178]FU[172].997
  27. 210 AC[178]32:DN[178]11:[141]8000: [139]FL[179]285000[167]212
  28. 211 [153]"NORMAL":[137]215
  29. 212 [139] FL[179]150000[167]214
  30. 213 [153]"  LOW ":[137]215
  31. 214 [153]"V. LOW":FU[178]150000
  32. 215 P0[178]P0[170].001[172]P0:F0[178]F0[171]P0[172]S9:[139]F0[177]0[167]221
  33. 220 M$[178]"FOOD SHORTAGE":P0[178]P0[170]F0[173]10[171].001[172]P0:F0[178]0:[141]8200:[139]P0[177]0[167]250
  34. 221 [139]P0[177]0[167]250
  35. 222 P0[178]0:[137]270
  36. 250 [139]D0[178]0[167]300
  37. 255 [141]7200:[137]300
  38. 270 [141]9500:[153]"POPULATION GONEWAIT ON DAY"D0
  39. 280 [128]
  40. 300 [143] AGRICULTURE MODULE
  41. 310 A1[178]P1[172]P0:F8[178]1:F9[178]1:G1[178]0:I1[178]A2:[139] A2[179][178]A1[167]350
  42. 320 M$[178]"INSUFF. POPULATION TO IRRIGATE FULLY":[141]8200:I1[178]A1:F8[178]0
  43. 350 G0[178]G0[171].1[172]A1[172]S9:[139]G0[177]0[167]375
  44. 360 M$[178]"INDUSTRIAL SHORTAGE OF AGR. SUPPLIES":[141]8200:F9[178].5
  45. 375 [139] I1[179][178]I[167]400
  46. 380 G1[178]4[172](I1[171]I):[139]G0[171]G1[177]0[167]390
  47. 385 M$[178]"INSUFF. INDUST SUPPLY TO IRRIGATE":[141]8200:G1[178]G0
  48. 390 I1[178]I1[170]G1[173]4:G0[178]G0[171]G1
  49. 400 G0[178]G0[171]I1[172]S9:[139] G0[177]0[167]420
  50. 410 F9[178].5
  51. 420 W1[178](600[172]I1[172](1[171]E1)[170]15[172]A1)[172]S9
  52. 430 F0[178].95[172]F0[170](10[172]I1[170]1.5[172](A1[171]I1))[172]F9[172]S9
  53. 440 I[178]I1
  54. 500 [143] INDUSTRIAL MODULE
  55. 510 B1[178]P0[172]P2[171](S1[170]S2[170]S4[170]S5)[173]1000:G0[178]G0[171](.1[172]P0[172]S9)
  56. 515 D[178].2[172]A1[170]I[170].1[172]P0
  57. 520 D[178]S9[172]D[172]1.2[171]G0:[139]D[177]0[167]540
  58. 530 D[178]0
  59. 540 B2[178]D:[139]B2[173]S9[179][178]B1[167]555
  60. 550 B2[178]B1:[139]B1[177]0[167]555
  61. 551 B2[178]0
  62. 555 E2[178]S1[172]S9:[139](B1[172]100)[179]W9[167]560
  63. 556 B1[178]W9[173]100:[139]B2[178]0[167]558
  64. 557 B2[178]B2[172]W9[173](100[172]B2)
  65. 558 M$[178]"WATER SHORTAGE IN INDUSTRY":[141]8200
  66. 560 G0[178]G0[172].9[170]B2:W2[178]100[172]B1[172]S9:[139]W2[177]S1[172]S9[167]570
  67. 565 E2[178]W2
  68. 570 R2[178].9[172]E2
  69. 600 [143] DOMESTIC CONSUMPTION
  70. 610 W3[178]((8.16[172]D(1)[170]2.16[172]D(2)[170]1.68[172](3))[172]P0)[172]S9
  71. 615 E3[178]S4[172]S9:[139]W3[177]E3[167]620
  72. 617 E3[178]W3
  73. 620 R3[178].8[172]E3
  74. 700 [143] WATER
  75. 710 W0[178]W0[170]FL[172]S9[170]R2[170]R3[171]W1[171]W2[171]W3
  76. 712 [153]"                                    ";
  77. 720 [139] W0[179]12E6[167] 735
  78. 730 W0[178]12E6
  79. 735 [143]
  80. 736 [139]W0[177]0[167]740
  81. 737 [141]9500:[153]"RESERVOIR DRYWAIT ON DAY #"D0:[128]
  82. 740 [139]D0[179]S3[167]750
  83. 741 [153]"INDUSTRIAL SEWAGE PLANT ON LINE NOW":[129]X[178]1[164]500:[130]X
  84. 745 S1[178]S1[170]S2:S3[178]9E9:S2[178]0
  85. 750 [139]D0[179]S6[167]790
  86. 751 [153]"MUNICIPAL PLANT SERVING "S4[172]S9"GAL READY":[129]X[178]1[164]500:[130]X
  87. 755 S4[178]S4[170]S5:S6[178]9E9:S5[178]0
  88. 790 [130]D0
  89. 800 [143] INTERRUPT ROUTINES
  90. 801 [153]"LOAD
  91. 810 PRINT"[147]WHAT DOYOU WANT TO CHANGE?   1) POPULATION JOB DISTRIBUTION"
  92. 820 PRINT"   2) ALTER IRRIGATION AMOUNT"
  93. 830 PRINT"   3) BUILD WATER TREATEMENT PLANTS        4) CUT WATER CONSUMPTION"
  94. 835 REM
  95. 840 INPUTQ:IFQ=0THEN860
  96. 850 ON Q GOSUB 900,1000,1020,1205
  97. 860 PRINT"[147]MORE CHANGES";
  98. 861 INPUTA$:A$=LEFT$(A$,1)
  99. 862 IFA$="Y"THEN800
  100. 863 GOSUB7000:GOTO205
  101. 900 PRINT"[147]CURRENT VALUES ARE:                     ";P1*100"% AGRICULTURE"
  102. 901 PRINTP2*100;"% INDUSTRY";(1-P1-P2)*100;"% CONSUMER"
  103. 904 PRINT"ENTER % OF POPULATION FOR AGRIC. & INDUSTRY (EXCESS ARE CONSUMERS)
  104. 905 [153]"  % IN AGRICULTURE";:[133] P1:P1[178]P1[173]100
  105. 906 [153]"  % IN INDUSTRY   ";:[133] P2:P2[178]P2[173]100:[139]P1[170]P2[179][178]1[167]920
  106. 910 [153]"IMPOSSIBLE - TRY AGAINLOADNEW":[142]
  107. 920 P3[178]1[171]P1[171]P2:[153]"CONSUMERS ="P3[172]100"%":[141]10000
  108. 930 [142]
  109. 1000 [153]"LOADCURRENT ACREAGE IRRIGATED="I;""
  110. 1002 [153]"# ACRES TO BE IRRIGATED? (UP TO";[181](P0[172].5)"AVAIL)";:[133]A2
  111. 1005 [142]
  112. 1020 [143] SEWAGE PLANT ROUTINE
  113. 1025 [139] S2[172]S5[178]0[167]1050
  114. 1035 [153]"BOTH MUNICIPAL AND INDUSTRIAL SEWAGE":[153]"TREATMENT PLANTS ARE UNDER"
  115. 1040 [153]"CONSTRUCTION. NO REVISIONS AT THIS TIME"
  116. 1045 [142]
  117. 1050 [153]"BUILD A MUNICIPAL (1) OR AN INDUSTRIAL
  118. 1052 PRINT"SEWAGE PLANT(2)";:INPUTQ
  119. 1055 IF Q=1THEN1150
  120. 1060 IF S2=0THEN1075
  121. 1065 PRINT"PLANT NOW UNDER CONTRUCTION,NO REVISION OF PLAN POSSIBLE":GOTO1090
  122. 1067 RETURN
  123. 1075 PRINT"CURRENT WATER USAGE ="INT(W2)"GAL/DAY"
  124. 1076 PRINT"NOW"S1*S9"GAL/DAY ARE BEING TREATED"
  125. 1077 PRINT"THE NEW PLANT SHOULD HAVE AN ADDN'L CAPACITY OF";
  126. 1078 INPUTS2:S2=S2/S9:S3=D0+1500
  127. 1085 PRINT"THE NEW PLANT WILL BE ON LINE IN 4 YEARS"
  128. 1090 FORX=1TO1000:NEXTX:RETURN
  129. 1150 IF S5<>0THEN1065
  130. 1155 PRINT"[147]MUNICIPAL PLANT NOW SERVICES"S4*S9:PRINT"GALLONS/DAY"
  131. 1160 PRINT"MUNICIPAL WATER USAGE ="INT(W3)"GAL/DAY"
  132. 1165 PRINT"HOW MANY GAL/DAY WILL THE NEW PLANT HANDLE":INPUT S5
  133. 1166 S5=S5/S9:S6=D0+1500
  134. 1170 GOTO1085
  135. 1205 RESTORE
  136. 1210 FORQ=1TO3
  137. 1211 PRINT"[147]LEGISLATIVE WATER RESTRICTION"
  138. 1212 READA$:PRINT"   "A$;""
  139. 1220 PRINT"CURRENT USAGE IS ";:IFQ>2THEN1250
  140. 1225 PRINTH(Q)*D(Q)*S9;"GAL/PERSON/DAY":IFD(Q)=1THEN1230
  141. 1226 PRINT"CURRENT RESTRICTION IS"100*(1-D(Q))"%"
  142. 1227 PRINT"SHOULD RESTRICTIONS BE RELAXED";:INPUTA$:A$=LEFT$(A$,1)
  143. 1228 IFA$<>"Y"THEN1230
  144. 1229 D(Q)=1:GOTO1247
  145. 1230 PRINT"SHALL A ";:IFD(Q)=1THEN1234
  146. 1231 PRINT"NEW ";
  147. 1234 PRINT"LIMIT BE IMPOSED ON USAGE";
  148. 1235 INPUTA$:A$=LEFT$(A$,1)
  149. 1240 IFA$="N"THEN1247
  150. 1245 PRINT:PRINT"WHAT % CUT IN CONSUMPTION";:INPUTD(Q):D(Q)=1-(D(Q)/100)
  151. 1247 NEXTQ
  152. 1248 RETURN
  153. 1250 PRINTINT(W2/P0)"GAL/PERSON/DAY"
  154. 1252 PRINT"("INT(W2/1000+.5)"THOUSAND GALLONS/DAY)"
  155. 1254 PRINT"SHALL A LIMIT BE IMPOSED";:W9=9E9
  156. 1255 INPUTA$:A$=LEFT$(A$,1)
  157. 1260 IFA$="N"THENRETURN
  158. 1270 PRINT"WHAT % CUT IN CONSUMPTION";:INPUTD(4):W9=W2*(1-D(4)/100)/S9:RETURN
  159. 7000 REM HEADING SECTION
  160. 7005 PRINT"[147]  DAYPOPULATION"
  161. 7010 PRINT"  FOOD SUPPLY (IN DAYS)"
  162. 7020 PRINT"  WATER CONSUMPTION (GALLONS X 1000/DAY)"
  163. 7030 PRINT"[146]AGRICULTURE :":PRINT"INDUSTRIAL  :"
  164. 7040 PRINT"PUBLIC SUPPLY:"
  165. 7045 PRINT"RESERVOIR LEVEL :     % CAPACITY "
  166. 7050 PRINT"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  167. 7055 AC=30:DN=10:GOSUB8000:PRINT"RIVER FLOW";
  168. 7060 AC=3:DN=21:GOSUB8000:PRINT"PRESS ANY KEY ONCE[146] TO ALTER MODEL":RETURN
  169. 7200 REM DISPLAY BASIC DATA
  170. 7210 DN=2:AC=6:GOSUB8000:PRINTD0:AC=32:GOSUB8000:PRINTINT(P0+.5);"[157] "
  171. 7230 DN=4:AC=24:GOSUB8000:PRINTINT(F0/P0+.5);"[157] "
  172. 7240 DN=10:AC=16:GOSUB8000:PRINTINT((W1-R1)/1000+.5);"[157] "
  173. 7250 DN=12:GOSUB8000:PRINTINT((W2-R2)/1000+.5);"[157] "
  174. 7260 DN=14:GOSUB8000:PRINTINT((W3-R3)/1000+.5);"[157] "
  175. 7270 DN=16:AC=16:GOSUB8000:PRINTINT(W0*100/12E6);"[157] "
  176. 7280 REM DN=21:AC=22:GOSUB8000:PRINT"CHANGE MODEL      ";
  177. 7290 RETURN
  178. 8000 REM GRPH SUBSECTIN
  179. 8010 PRINT"":PRINTLEFT$(D$,DN);LEFT$(C$,AC);
  180. 8020 RETURN
  181. 8200 REM
  182. 8205 FORX=1TO12:IFX<>12THEN8210
  183. 8206 M$="                                      "
  184. 8210 AC=1:DN=22:GOSUB8000
  185. 8215 N$="":IFX/2<>INT(X/2)THEN8220
  186. 8218 N$="[146]"
  187. 8219 FORX1=1TO50:NEXTX1
  188. 8220 PRINTN$;M$;:NEXTX
  189. 8230 RETURN
  190. 9500 REM SET UP ROUTINE
  191. 9510 PRINT"[147]":FORX=1TO20:PRINT"[166][166][166][166][166][166][166][166][166][166]":NEXTX
  192. 9512 AC=30:DN=14:GOSUB8000
  193. 9513 PRINT"[169][223] [157][157][157][157][169]   [157][157][157][157][157][169]    [223][157][157][157][157][157][157][146][199][176][174][176][174][200][157][157][157][157][157][157][199][173][189][173][189][200][157][157][157][157][157][157][199] [176][174] [200]";
  194. 9514 PRINT"[157][157][157][157][157][157][199] [221][221] [200][157][157][157][157][157][157][157][157][197][197][197][197][197][197][197][197][197][197]";
  195. 9520 PRINT"";" [206] [206] [206] [206] [206] "
  196. 9530 FORX=1TO20:AC=10:DN=20:GOSUB8000:IFX/2=INT(X/2)THEN9537
  197. 9532 PRINT" > > > > > > > > > >":PRINT"/ / / / /  ";
  198. 9533 GOTO9540
  199. 9537 PRINT"> > > > > > > > > > ":PRINT" / / / / / ";
  200. 9540 DN=X:AC=1:GOSUB8000:PRINT"[157]                  ":NEXTX
  201. 9550 AC=15:DN=2:GOSUB8000:PRINT"WATER RESOURCE MANAGEMENT"
  202. 9560 RETURN
  203. 10000 PRINT"   PRESS ANY KEY TO CONTINUE[146]";
  204. 10010 GETA$:IFA$=""THEN10010
  205. 10020 RETURN
  206. 20000 PS$=""+LEFT$(D$,22)
  207. 20010 PRINTPS$;"WOULD YOU LIKE TO CHANGE ";
  208. 20020 INPUT"ANY VARIABLES";NTR$
  209. 20030 IFLEFT$(NTR$,1)="Y"THEN800
  210. 20040 PRINTPS$;"        HIT ANY KEY TO STOP[146]                        "
  211. 20050 GOTO205
  212.